Simple Driving Techniques

نویسنده

  • Mads Rosendahl
چکیده

Driving was introduced as a program transformation technique by Valentin Turchin in some papers around 1980. It was intended for the programming language REFAL and used in metasystem transitions based on super compilation. In this paper we present one version of driving for a more conventional lisp-like language. Our aim is to extract a simple notion of driving and show that even in this tamed form it has much of the power of more general notions of driving. Our driving technique may be used to simplify functional programs which use function composition and will often be able to remove intermediate data structures used in computations. A supercompiler (= supervised compiler) is a special program transformation system which, while evaluating the program, supervises its operation and uses the information to reconstruct the program in a more efficient way. A supercompiler may work on expressions with free variables and will then drive it through the interpretation process and produce a tree of states and transitions. The tree is made into a finite graph by generalizing patterns or configurations of expressions. A configuration is an expression without free variables but with ”holes” in which one may insert other expressions. A supercompiler will have a strategy for generalizing configurations (i.e. make the holes bigger or make new holes). In order to guarantee termination the driving algorithm should generalize configurations into a finite set of simpler configurations called basic configurations. The concept of super compilation is due to Valentin Turchin [10], [11]. The work and concepts are closely tied to the language Refal and not easily rephrased for other programming languages. The strategy for generalizing configurations may be viewed as an abstraction function on expressions, or as an upper bound operation when several configurations should be described by a more general configuration. Different strategies will define different sets of possible configurations. To ensure that the driving terminates we need a strategy that does not produce infinitely many configurations for a program. As in abstract interpretation this may be achieved if the set of configurations is finite or has some finite-height property. Our aim is to use driving to optimize functional programs where composition of user-defined functions plays a central role. We want to specialize functions ? This research was partly sponsored by the IT-University in Copenhagen when we know that the argument values are produced by certain other functions. We will use the driving technique and define a simple set of basic configurations. The result is a transformation system which is easy to implement and easy to use.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

بررسی رابطه بین سلامت روان و رغبت‌ها با سبک رانندگی

Abstract Introduction: According to the increasing incidence of accidents and its relation with high-speed driving, the present study was conducted to investigate relationships between psychological health and interests with driving style in intercity bus drivers of Isfahan. Method: This study was a correlation study. Because the complete list of the population study was not available, one-s...

متن کامل

Image Fusion for a Nighttime Driving Display

An investigation into image fusion for a nighttime driving display application was performed. Most of the image fusion techniques being investigated in this application were developed for other purposes. When comparing the images of a typical night driving scene to the images used in medical or satellite image fusion it becomes apparent that most of the techniques developed for other fields wou...

متن کامل

A Fuzzy Based Driving Architecture for Non-player Characters in a Car Racing Game

Videogame-based competitions are receiving a lot of interest in the last few years, as they provide an ideal framework to apply soft computing techniques. One the most popular competitions is the Simulated Car Racing Competition and thanks to the realism implemented by recent car simulators, it provides a test framework for the application of autonomous driving techniques. This work presents th...

متن کامل

Driving matrix liquid crystal displays

Liquid crystal displays had a humble beginning with wrist watches in the seventies. Continued research and development in this multi-disciplinary field have resulted in displays with increased size and complexity. After three decades of growth in performance, LCDs now offer a formidable challenge to the cathode ray tubes (CRT). A major contribution to the growth of LCD technology has come from ...

متن کامل

A fuzzy-rule-based driving architecture for non-player characters in a car racing game

Videogame-based competitions have been the target of considerable interest among researchers over the past few years since they provide an ideal framework in which to apply soft computing techniques. One of the most popular competitions is the Simulated Car Racing Competition which, thanks to the realism implemented by recent car simulators, provides an excellent test bed for the application of...

متن کامل

Evaluation of the effect of pregabalin on simulated driving ability using a driving simulator in healthy male volunteers

Pregabalin, a novel agent for treating partial epilepsy and peripheral neuropathic and central pain, was studied for its effect on driving performance in healthy volunteers. Sixteen healthy male volunteers who drove regularly were enrolled in a double-blind, parallel-group, placebo-controlled study assessing the effect of pregabalin on driving performance. Subjects received an oral dose of preg...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002